//
// author Selphy
//


// バージョン
#pragma version(1)

// パッケージ
#pragma rs java_package_name(jp.kiroru_inc.rs_hello_world)

#include "rs_graphics.rsh"

// Step-4で使うテクスチャー
rs_allocation texture;

// テクスチャーを使うときに必要になる諸々の値
rs_program_store gProgStoreBlendAlpha;
rs_program_fragment gProgFragmentTexture;
rs_program_raster gCullNone;

float2 gTouch;

/* ------------------------------------------- */
/* タッチイベントから座標を受け取ります。              */
/* ------------------------------------------- */
void setTouchPosition(float2 pos) {
    gTouch = pos;
}

/* ------------------------------------------- */
/* メインループ */
/* ------------------------------------------- */
int32_t root() {
    rsgClearColor(1.0f, 1.0f, 1.0f, 1.0f);
    
    rsgBindProgramStore(gProgStoreBlendAlpha);
    rsgBindProgramFragment(gProgFragmentTexture);
    rsgBindProgramRaster(gCullNone);
    
    float minX = gTouch.x;
    float maxX = minX + 100;
    float minY = gTouch.y;
    float maxY = minY + 100;
    
    rsgBindTexture(gProgFragmentTexture, 0, texture);
    rsgDrawQuadTexCoords(minX, minY, 0, 0.f, 0.f,
                         minX, maxY, 0, 0.f, 1.f,
                         maxX, maxY, 0, 1.f, 1.f,
                         maxX, minY, 0, 1.f, 0.f);   
    
    // 20fps
    return 50;
}
